var flag = false;//区分点击的是已合并还是未合并按钮：false未合并，true已合并
var ids = "";//获取选中领料单的ID
var _id,_idt;
var _depid,_idss;
var dataExport = {
	'fCode' :  $("#fCode").val(),
	'FNumber' : $("#fNumber").val(),
	'FName' : $("#fName").val(),
	'fModel' : $("#fModel").val(),
	'fDeptID' : $("#workshopID").val(),
	'row' : 10000000//必传不然默认导出来就是10条数据
};
var colArr = [];
var flagg=true;
/*
 * @Description: 预加载
 * @param : 
 */
$(function (){
	resizeIframeHight();
	initPickTable();
	pullDownN();
	pullDown();
	
	//点击Tab刷新表格
	/*$(".MRN",parent.document).click(function(){
		$('#pickingTable').bootstrapTable('refresh');
//		setTimeout(function(){
//			if(_index != -1){
//				$('#taskTable').bootstrapTable('check',_index);
//			}
//		},500);
	});*/
});

/*
 * @Description: 已合并按钮点击事件
 * @param : 
 */
$("#isMerge").click(function(){
	$("#isMerge").addClass('changeColor');
	$("#notMerge").removeClass('changeColor');
	$("#isMergeShow").show();
	$("#notMergeShow").hide();
	flag = false;
	initPickTable();
});
/*
 * @Description: 未合并按钮点击事件
 * @param : 
 */
$("#notMerge").click(function(){
	$("#notMerge").addClass('changeColor');
	$("#isMerge").removeClass('changeColor');
	$("#isMergeShow").hide();
	$("#notMergeShow").show();
	flag = true;
	initPickTable();
});

$("#queryMerge,#queryNoMerge").click(function(){
	initPickTable();
});
$("#resettingMerge").click(function(){
	$("#isMergeShow .clean_C").val('');
	$('#workshopID').selectpicker('refresh');
	var data = dataExport;
	for(prop in data){
		if(data.hasOwnProperty(prop)){
			data[prop] = '';
		}
	}
	initPickTable();
});
$("#resettingNoMerge").click(function(){
	$("#notMergeShow .clean_C").val('');
	$("#fDisNo").val('');
	$('#workshopIDM,#fStatus').selectpicker('refresh');
	initPickTable();
});

/*
 * @Description: 领料表初始化 
 * @param :
 */
function initPickTable() {
	var URL,columns,data = {};
	if(!flag){
		URL =  pathUrl("dispatch/find.action");
		data = {
			'fCode' :  $("#fCode").val(),
			'FNumber' : $("#fNumber").val(),
			'FName' : $("#fName").val(),
			'fModel' : $("#fModel").val(),
			'fDeptID' : $("#workshopID").val(),
			'startTime':$("#startTime").val(),
			'endTime':$("#endTime").val()
		}
		columns = [{
			checkbox : true
		}, {
			field : "fCode",
			align : 'left',
			valign: 'middle',
			title : '派工单号',
			edit:false
		}, {
			field : "FNumber",
			align : 'left',
			valign: 'middle',
			title : '产品代码',
			edit:false
		}, {
			field : "FName",
			align : 'left',
			valign: 'middle',
			title : '产品名称',
			edit:false
		}, {
			field : "fModel",
			align : 'left',
			valign: 'middle',
			title : '规格型号',
			edit:false	
		},{
			field : "fDate",
			align : 'left',
			valign: 'middle',
			title : '派工时间',
			formatter : function(value,row,index){
				var time = timeFormatter(value);
				var time1 = time.substring(0,16);
				return '<span title="'+ time +'">'+ time1 +'</span>';
			},
			edit:false
		}, {
			field : "fDepName",
			align : 'left',
			valign: 'middle',
			title : '车间',
			edit:false
		}, {
			field : "fTargetQty",
			align : 'left',
			valign: 'middle',
			title : '应发齐套数',
			edit:false
		}];
	}else {
		URL = pathUrl("merge/findByMerge.action");
		data = {
			'fWorkerId' : $("#fWorkId").val(),
			'fDeptID' : $("#workshopIDM").val(),
			'fStatus' : $("#fStatus").val(),
			'fDisNo' : $("#fDisNo").val(),
			'startTime' :$("#beginTime").val(),
			'endTime' : $("#finalTime").val(),
		};
		columns = [/*{
			field : "fBillNo",
			align : 'center',
			valign: 'middle',
			title : '领料单号'
		}, */{
			field : "fWorker",
			align : 'left',
			valign: 'middle',
			title : '领料人',
			edit:false
		}, {
			field : "fStatus",
			align : 'left',
			valign: 'middle',
			title : '发料状态',
			formatter : function(value,row,index){
				var str = "";
				if(value == 1){
					str = "部分发料";
				}else if(value == 2) {
					str = "全部发料";
				}else{
					str = "未发料";
				}
				return str;
			},
			edit:false
		}, {
			field : "fDepName",
			align : 'left',
			valign: 'middle',
			title : '车间',
			edit:{
				type : 'select',// 下拉框
		    	url : pathUrl("workCenter/getworkCenterIdAndName.action"),
				method : 'GET',//请求方式（必填）
		    	valueField : 'text',
		    	textField : 'value',
		    	onSelect : function(val,rec){
		    		var $tr = $(this)[0].$el.closest("tr");
		    		var index = $tr.data('index');
		    		var row = {};
//					row.fDepName = rec.value;
					row.fDepName = rec.value;
					_depid=val;
					$('#pickingTable').bootstrapTable('updateRow',{index: index,row:row});
		    	}
			}
		},{
			field : "fNote",
			align : 'left',
			valign: 'middle',
			title : '派工单',
			edit:false,
			formatter : function(value,row,index){
				var str = "";
				if(value != null){
					str = value.replace(/[^\x00-\xff]/g,"$&\x01").replace(/.{200}\x01?/g,"$&</br>").replace(/\x01/g,"");
				}
				return str;
			}
			/*formatter : function(value,row,index){
				var str="";
				var i=0;
				row.fNote.split(',').forEach(function(element,index){
					i=index++;
					str+=element;
					console.log(str);
					if((i+1)%10==0){
						document.write("<br />");
					}
					
				})
				//return str;
			}*/
		}/*, {
			field : "fModel",
			align : 'center',
			valign: 'middle',
			title : '规格型号'	
		}, {
			field : "fTargetQty",
			align : 'center',
			valign: 'middle',
			title : '应发齐套数'
		}*/,{
			field : 'operate',//如需导出execl field必填operate，否则操作行会被导出
			align : 'center',
			valign: 'middle',
			title : '操作',
			formatter : function(value,row,index){
				return '<button type="button" class="btn btn-default removepie" style="font-size:12px;margin-right:5px;">移出派工单</button>'+
				'<button type="button" class="btn btn-default details" style="font-size:12px;margin-right:5px;">详情</button>'+
				'<button type="button" class="btn btn-default modifysave" style="font-size:12px;margin-right:5px;">修改车间保存</button>';
			},
			events : operateEvents,
			edit:false
		}];
	}
	$('#pickingTable').bootstrapTable('destroy').bootstrapTable({
		url : URL,//请求后台的URL
		//height : $(window).height() - 200,//行高
		method : "POST",//请求方式
		//striped : true,//是否显示行间隔色
		cache : false,//是否使用缓存，默认为true
		pagination : true,//是否显示分页
		clickToSelect : true,//是否启用点击选中行
//		singleSelect : true,//是否单选
		pageNumber : 1,//初始化加载第几页
		pageSize : 10,//每页的记录行数
		sidePagination : "server", // 分页方式：client客户端分页，server服务端分页（*）
		pageList : [ 10, 25, 50, 100 ,500],// 分页方式：client客户端分页，server服务端分页
		colArr : colArr,
		dataExport : dataExport,
		showExport: true,
		exportDataType: "allServer",
		queryParams : function(params) {//传递参数
			data.offset = params.offset;
			data.row = params.limit;
			//data.sortOrder = params.order;//排序
			//data.sortName = params.sort;//排序
			return data;
		},
		dataType : 'JSON',//数据类型
		uniqueId : "id",//每一行的唯一标识，一般为主键列
		columns : columns,
		onClickRow : function(row, $element) {//行单击
			console.log(row);
			_idss=row.id;
		},
		onLoadSuccess:function(row){
//			_idss=row.id;
		},
		exportHandler : function(text){
			if(text == 'success'){
				$('#export').text('导出成功');
				setTimeout(function(){
					$('#export').text('导出');
					$('#export').blur();
					$('#export').removeAttr('disabled');
				},3000)
			}
		}
	});
}
/*
 * @Description: 修改车间保存按钮点击事件
 * @param :
 */

/*$("#changedep").click(()=>{
	console.log(_idss);
	console.log(_depid);
	$.ajax({
		url : pathUrl("merge/updateDep.action"),
		type : "POST",
		dataType : "JSON",
		data : {
			'id' : _idss,
			'fDeptID' : _depid,
		},
		success : function(data) {
			if (data.code == "0000") {
				swal_Tips_Short(data.message);
			} else if (data.code == "9999") {
				swal_Tips(data.message);
			}
		},
		error : function(request) {
			swal_Tips_Error();
		},
		complete : function () {
		}
	});
})*/
/*
 * @Description: 合并按钮点击事件
 * @param :
 */
$("#mergeing").click(function() {
	ids = "";
	var datas = $("#pickingTable").bootstrapTable('getSelections');
	if(datas.length < 2){
		swal_Tips('请选择两条或两条以上要合并的领料单！');
//		unCheck();
		return false;
	}
	$.each(datas,function(key,value){
		ids +=  value.id + ",";
	});
	ids = ids.substring(0,ids.length-1);
	showSwal(
		'合并',
		'您确定要合并领料吗？',
		'是的，确定合并',
		function(result){//isConfirm 点击确定按钮，参数true/false
			if(result.value){
				pullDownX();
				$("#requesterModal").modal('show');
			}
		}
	);
});
/*
 * @Description: 领料人模态框显示后，领料人卡号获得焦点
 * @param :
 */
$('#requesterModal').on('shown.bs.modal', function () {
	$("#fWorkerId").focus();
});
/*
 * @Description: 领料人模态框隐藏后，清空领料人卡号和领料人
 * @param :
 */
$('#requesterModal').on('hidden.bs.modal', function () {
	$(".resetting").val("");
});
/*
 * @Description: 员工ID输入框输入事件：输入员工ID后，自动带出员工姓名
 * @param : 
 */
validateID("#fWorkerId","#fWorker","save","领料人");

/*
 * @Description: 领料人模态框，确定按钮点击事件
 * @param : 
 */
$("#save").click(function(){
//	console.log(ids)
	submissionMethod();
});
/*
 * @Description: 合并领料提交方法
 * @param : 
 */
function submissionMethod(){
	var fWorkerId = $("#fWorkerId").val();
	var fWorker = $("#fWorker").val();
	var fDeptId = $("#workshop").val();
	if(fWorkerId == ""){
		swal_Tips('请输入领料人卡号!');
		return false;
	}
	if(fWorker == ""){
		swal_Tips('请输入正确的领料人卡号!');
		return false;
	}
	if(fDeptId == ""){
		swal_Tips('请选择车间!');
		return false;
	}
	showLoading();
	$.ajax({
		url : pathUrl("merge/addNewMerge.action"),
		type : "POST",
		dataType : "JSON",
		data : {
			'fWorkerId' : fWorkerId,
			'fWorker' : fWorker,
			'ids' : ids,
			'fDeptId': fDeptId
		},
		success : function(data) {
			if (data.code == "0000") {
				initPickTable();
//				ids = "";
				$("#requesterModal").modal('hide');
				swal_Tips_Short(data.message);
			} else if (data.code == "9999") {
				swal_Tips(data.message);
			}
		},
		error : function(request) {
			swal_Tips_Error();
		},
		complete : function () {
		}
	});
}

/*
 * @Description: 取消合并按钮点击事件
 * @param :
 */
$("#cancelMergeProcess").click(function() {
	var data = {};
	if(_fItemId == -1){
		swal_Tips('请选择任务!');
		return false;
	}
	var datas = $("#pickingTable").bootstrapTable('getSelections');
	if(datas.length != 1){
		swal_Tips('请选择一条取消合并的工序！');
		unCheck();
		return false;
	}
	if(datas[0].fIsMerge != 1){
		swal_Tips('该工序没有合并过，不能取消合并！');
		unCheck();
		return false;
	}
	showSwal(
		'取消合并',
		'您确定要取消合并吗？',
		'是的，确定取消合并',
		function(result){//isConfirm 点击确定按钮，参数true/false
			if(result.value){
				data.fType = false;
				data.datas = JSON.stringify(datas);
				mergeORCancelMerge(data);
			}
		}
	);
});
/*
 * @Description: 合并取消选中
 * @param :
 */
function unCheck(){
	setTimeout(function(){
		$("#pickingTable").bootstrapTable('uncheckAll');
	}, 100);
}
/*
 * @Description: 表操作事件
 * @param :
 */
window.operateEvents= {
	'click .details' : function(e, value, row, index) {//领料详情按钮点击事件
		_id = row.id;
		iniDetailsTable();
		$("#detailsModal").modal('show');
	},
	'click .removepie' : function(e, value, row, index) {//移出派工单按钮点击事件
//		iniDetailsTable();
		_idt = row.id;
		inremoveTable();
		$("#removepieModal").modal('show');
	},
	'click .removeit' : function(e, value, row, index) {//移出派工单按钮点击事件
		showLoading();
		$.ajax({
			url : pathUrl("merge/removeDisPatchList.action"),
			type : "POST",
			dataType : "JSON",
			data :{
				'id' : _idt,
				'fDisId' : row.id,
			},
			success : function(data) {
				if (data.code == "0000") {
					swal_Tips_Short(data.message);
					$("#removepieModal").modal('hide');
				} else if (data.code == "9999") {
					swal_Tips(data.message);
				}
			},
			error : function(request) {
				swal_Tips_Error();
			},
			complete : function () {
			}
		});
	},
	'click .modifysave' : function(e, value, row, index) {//保存修改车间按钮点击事件
		console.log({
			'id' : row.id,
			'fDeptID' : _depid,
		});
		$.ajax({
			url : pathUrl("merge/updateDep.action"),
			type : "POST",
			dataType : "JSON",
			data : {
				'id' : row.id,
				'fDeptID' : _depid,
			},
			success : function(data) {
				if (data.code == "0000") {
					swal_Tips_Short(data.message);
				} else if (data.code == "9999") {
					swal_Tips(data.message);
				}
			},
			error : function(request) {
				swal_Tips_Error();
			},
			complete : function () {
			}
		});
	},
	'click .detailsH' : function(e, value, row, index) {//合并领料详情按钮点击事件
//		console.log(row)
		iniDetailsHTable(row.fEntryID);
		$("#detailsHModal").modal('show');
		$("#detailsModal").modal('hide');
}
};
/*
 * @Description: 领料列表初始化 
 * @param :
 */
function iniDetailsTable() {
	$('#detailsTable').bootstrapTable('destroy').bootstrapTable({
		url : pathUrl("merge/findByMergeEntry.action"),//请求后台的URL
		//height : $(window).height() - 200,//行高
		method : "POST",//请求方式
		//striped : true,//是否显示行间隔色
		cache : false,//是否使用缓存，默认为true
		pagination : true,//是否显示分页
		clickToSelect : true,//是否启用点击选中行
//		singleSelect : true,//是否单选
		pageNumber : 1,//初始化加载第几页
		pageSize : 10,//每页的记录行数
		sidePagination : "server", // 分页方式：client客户端分页，server服务端分页（*）
		pageList : [ 10, 25, 50, 100 ],// 分页方式：client客户端分页，server服务端分页
		queryParams : function(params) {//传递参数
			var data = {};
			data.offset = params.offset;
			data.row = params.limit;
			//data.sortOrder = params.order;//排序
			//data.sortName = params.sort;//排序
			
			data.id =  _id;
			return data;
		},
		dataType : 'JSON',//数据类型
		uniqueId : "id",//每一行的唯一标识，一般为主键列
		columns : [{
			field : "fNumber",
			align : 'center',
			valign: 'middle',
			title : '物料代码',
			edit:false
		}, {
			field : "fName",
			align : 'center',
			valign: 'middle',
			title : '物料名称',
			edit:false
		}, {
			field : "fQty",
			align : 'center',
			valign: 'middle',
			title : '应发数',
			edit:false
		}, {
			field : "fUnit",
			align : 'center',
			valign: 'middle',
			title : '单位',
			edit:false	
		}, {
			field : 'operate',//如需导出execl field必填operate，否则操作行会被导出
			align : 'center',
			valign: 'middle',
			title : '操作',
			formatter : function(value,row,index){
				return '<button type="button" class="btn btn-default detailsH" style="font-size:12px;margin-right:5px;">详情</button>';
			},
			events : operateEvents,
			edit:false
		}],
		onClickRow : function(row, $element) {//行单击
//			console.log(row)
		}
	});
}
/*
 * @Description: 移出派工列表初始化 
 * @param :
 */
function inremoveTable() {
	$('#removeTable').bootstrapTable('destroy').bootstrapTable({
		url : pathUrl("merge/getDisPatchList.action"),//请求后台的URL
		//height : $(window).height() - 200,//行高
		method : "POST",//请求方式
		//striped : true,//是否显示行间隔色
		cache : false,//是否使用缓存，默认为true
		pagination : true,//是否显示分页
		clickToSelect : true,//是否启用点击选中行
//		singleSelect : true,//是否单选
		pageNumber : 1,//初始化加载第几页
		pageSize : 10,//每页的记录行数
		sidePagination : "server", // 分页方式：client客户端分页，server服务端分页（*）
		pageList : [ 10, 25, 50, 100 ],// 分页方式：client客户端分页，server服务端分页
		queryParams : function(params) {//传递参数
			var data = {};
			data.offset = params.offset;
			data.row = params.limit;
			//data.sortOrder = params.order;//排序
			//data.sortName = params.sort;//排序
			console.log(_idt);
			data.id =  _idt;
			return data;
		},
		dataType : 'JSON',//数据类型
		uniqueId : "id",//每一行的唯一标识，一般为主键列
		columns : [{
			field : "fNumber",
			align : 'center',
			valign: 'middle',
			title : '物料代码',
			edit:false
		}, {
			field : "fName",
			align : 'center',
			valign: 'middle',
			title : '物料名称',
			edit:false
		}, {
			field : "fModel",
			align : 'center',
			valign: 'middle',
			title : '规格型号',
			edit:false
		}, {
			field : "fBillNo",
			align : 'center',
			valign: 'middle',
			title : '生产任务单',
			edit:false
		}, {
			field : "fCode",
			align : 'center',
			valign: 'middle',
			title : '派工单号',
			edit:false	
		}, {
			field : "fTargetQty",
			align : 'center',
			valign: 'middle',
			title : '数量',
			edit:false	
		}, {
			field : 'operate',//如需导出execl field必填operate，否则操作行会被导出
			align : 'center',
			valign: 'middle',
			title : '操作',
			formatter : function(value,row,index){
				return '<button type="button" class="btn btn-default removeit" style="font-size:12px;margin-right:5px;">移出</button>';
			},
			events : operateEvents,
			edit:false
		}],
		onClickRow : function(row, $element) {//行单击
//			console.log(row)
		}
	});
}
/*
 * @Description: 合并领料列表初始化 
 * @param :
 */
function iniDetailsHTable(id) {
	$('#detailsHTable').bootstrapTable('destroy').bootstrapTable({
		url : pathUrl("merge/findByMergeEntrySub.action"),//请求后台的URL
		//height : $(window).height() - 200,//行高
		method : "POST",//请求方式
		//striped : true,//是否显示行间隔色
		cache : false,//是否使用缓存，默认为true
		pagination : true,//是否显示分页
		clickToSelect : true,//是否启用点击选中行
//		singleSelect : true,//是否单选
		pageNumber : 1,//初始化加载第几页
		pageSize : 10,//每页的记录行数
		sidePagination : "server", // 分页方式：client客户端分页，server服务端分页（*）
		pageList : [ 10, 25, 50, 100 ],// 分页方式：client客户端分页，server服务端分页
		queryParams : function(params) {//传递参数
			var data = {};
			data.offset = params.offset;
			data.row = params.limit;
			//data.sortOrder = params.order;//排序
			//data.sortName = params.sort;//排序
			data.id =  _id;
			data.fEntryID = id;
			return data;
		},
		dataType : 'JSON',//数据类型
		uniqueId : "id",//每一行的唯一标识，一般为主键列
		columns : [{
			field : "fBillNo",
			align : 'center',
			valign: 'middle',
			title : '领料单'
		}, {
			field : "fNumber",
			align : 'center',
			valign: 'middle',
			title : '物料代码'
		}, {
			field : "fName",
			align : 'center',
			valign: 'middle',
			title : '物料名称'
		}, {
			field : "fQty",
			align : 'center',
			valign: 'middle',
			title : '应发数'
		}/*, {
			field : "fUnit",
			align : 'center',
			valign: 'middle',
			title : '单位'	
		}*/],
		onClickRow : function(row, $element) {//行单击
//			console.log(row)
		}
	});
}
/*
 * @Description: 合并领料模态框返回按钮点击事件
 * @param :
 */
$("#backDetails").click(function(){
	$("#detailsModal").modal('show');
	$("#detailsHModal").modal('hide');
});

/*
 * @Description: 初始化生产车间下拉框里的数据
 * @param : 
 */
function pullDownX(){
	$.ajax({//生产车间下拉
		url : pathUrl("department/getDepNameAndId.action"),
		dataType : "JSON",
		success : function(data) {
			//生产车间下拉选里写值
			var option = "";
			$("#workshop").empty();
			option = '<option value="">' + "请选择" + '</option>';
			for (x in data) {
				/*if(data[x].text == "装配车间"){
					option += '<option value="' + data[x].value + '" selected="selected">' + data[x].text + '</option>';
				}else{}*/
					option += '<option value="' + data[x].value + '">' + data[x].text + '</option>';
				
			}
			$("#workshop").html(option);
			$('#workshop').selectpicker('refresh');
		},
		error : function(request) {
			swal_Tips_Error();
		}
	});
}
/*
 * @Description: 一般发料查询条件按回车事件
 * @param :
 */
$("#fNumber,#fName,#fModel,#fWorkId").keypress(function(event){
	if(event.keyCode == "13"){
		initPickTable();
	}
});
/*
 * @Description: 数据内容更改赋值给dataExport
 * @param :
 */
$('.mergeContent .clean_C').on('change',function(){
	var attr = $(this).attr('name');
	if(attr !== 'workshopID'){
		dataExport[attr] = $(this).val();
	}else{
		dataExport['fWorkShop'] = $(this).val();
	}
});
/*
 * @Description: 导出按钮点击事件
 * @param :
 */
$('#exporting').click(function(e){
	$('#pickingTable').exportColumn();
});

/*
 * @Description: 初始化未合并车间下拉框里的数据
 * @param : 
 */
function pullDownN(){
	$.ajax({
		url : pathUrl("workCenter/getworkCenterIdAndName.action"),
		dataType : "JSON",
		success : function(data) {
			var option = "";
			$("#workshopID").empty();
			option = '<option value="">' + "请选择" + '</option>';
			for (x in data) {
				option += '<option value="' + data[x].text + '">' + data[x].value + '</option>';
			}
			$("#workshopID").html(option);
			$('#workshopID').selectpicker('refresh');
		},
		error : function(request) {
			swal_Tips_Error();
		}
	});
}
/*
 * @Description: 初始化已合并车间下拉框里的数据
 * @param : 
 */
function pullDown(){
	$.ajax({
		url : pathUrl("department/getDepNameAndId.action"),
		dataType : "JSON",
		success : function(data) {
			var option = "";
			$("#workshopIDM").empty();
			option = '<option value="">' + "请选择" + '</option>';
			for (x in data) {
				option += '<option value="' + data[x].value + '">' + data[x].text + '</option>';
			}
			$("#workshopIDM").html(option);
			$('#workshopIDM').selectpicker('refresh');
		},
		error : function(request) {
			swal_Tips_Error();
		}
	});
}
/*
 * @Description: more按钮点击事件
 * @param : 
 */
$("#more").click(function(){
	if(flagg){
		$("#more").text("隐藏");
		$("#extend").show();
		flagg = false;
	}else{
		$("#more").text("更多");
		$("#extend").hide();
		flagg = true;
	}
	$('#pickingTable').bootstrapTable('resetWidth');
});
var time = {
		onClose : false,
		format : 'YYYY-MM-DD',
		donefun : function(obj) {
			// end.minDate = obj.val; // 开始日选好后，重置结束日的最小日期
		}
	};
jeDate('#startTime',time);
jeDate('#endTime',time);
jeDate('#beginTime',time);
jeDate('#finalTime',time);